#include <cstdio>
#include <cstring>
#include <cmath>

#include <algorithm>

using namespace std;

struct point {
	double x, y;

	point() {}
	point(double x, double y): x(x), y(y) {}
};

struct circle {
	point center;
	double R;

	circle() {}
	circle(point center, double R): center(center), R(R) {}
};

int n;
circle circles[100];

int cnt;
double all[20000];

double even, odd;

double dist2(point p1, point p2)
{
	return sqrt((p1.x - p2.x) * (p1.x - p2.x) + (p1.y - p2.y) * (p1.y - p2.y));
}

void add(circle c1, circle c2)
{
	double d = dist2(c1.center, c2.center);

	if( d > c1.R + c2.R ) return;

}

void go(double left, double right)
{

}

int main( void )
{
	freopen( "C.in", "r", stdin );

	scanf( "%d", &n );
	for( int i = 0; i < n; ++i ) {
		double x, y, R; scanf( "%lf %lf %lf", &x, &y, &R );
		circles[i] = circle(point(x, y), R);
	}

	for( int i = 0; i < n; ++i ) {
		all[cnt++] = circles[i].center.x-R;
		all[cnt++] = circles[i].center.x+R;
	}
	for( int i = 0; i < n; ++i )
		for( int j = i+1; j < n; ++j ) {
			add(circles[i], circles[j]);
		}
	sort(all, all + cnt);

	for( int i = 1; i < cnt; ++i )
		if( all[i - 1] + 1e-8 < all[i] ) go(all[i - 1], all[i]);
	printf("%.5lf %.5lf\n", odd, even);

	return 0;
}
